﻿using System;
using System.ServiceModel.Dispatcher;
using Sripirom.ATS.Core.Logging;
using Sripirom.ATS.Model.ServiceLog;
using Sripirom.ATS.Services.API.FundTransfer.Messages;

namespace Sripirom.ATS.Services.OperationDispatchers   
{                                                
    public class FundTransferInvoker : AbsOperationInvoker<FundTransferRequest, FundTransferResponse, FundTransferData>, IOperationInvoker
    {
        public FundTransferInvoker(IOperationInvoker baseInvoker, DispatchOperation operation)
            :base(baseInvoker, operation)
        {
            LoggerFactory.CreateLog().Debug("Constructor");
        }

        protected override ServiceActivityLog ValidateMessage(FundTransferData operationData)
        {
            LoggerFactory.CreateLog().Debug("ValidateMessage");

            return null;
        }

        protected override ServiceActivityLog BuildInstruction(FundTransferData operationData)
        {
            LoggerFactory.CreateLog().Debug("BuildInstruction");
            return null;
        }

        protected override ServiceActivityLog ValidateTransaction(FundTransferData operationData)
        {
            LoggerFactory.CreateLog().Debug("ValidateTransaction");
            return null;
        }

        protected override ServiceActivityLog BuildCommand(FundTransferData operationData)
        {
            LoggerFactory.CreateLog().Debug("BuildCommand");
            return null;
        }

        protected override ServiceActivityLog ProcessTransaction(FundTransferData operationData)
        {
            LoggerFactory.CreateLog().Debug("ProcessTransaction");
            return null;
        }
    }


}
                                        